<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>计算属性</title>
</head>
<body>
<div id="app">
    <div>{{msg}}</div>
    <!--反转字符串-->
    <div>{{msg.split('').reverse().join('')}}</div>

    <!--计算属性-->
    <div>{{reverseString}}</div>
    <div>{{reverseString}}</div>

    <!--方法-->
    <div>{{reverseMessage()}}</div>
</div>

<!-- 生产环境版本，优化了尺寸和速度 -->
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<script type="text/javascript">
    var vue = new Vue({
        el: "#app",
        data: {
            msg: "Hello",
            num: 100
        },
        methods: {
            reverseMessage: function () {
                console.log("method");//多次计算
                return this.msg.split("").reverse().join("");
            }
        },
        //计算属性
        computed: {
            reverseString: function () {
                console.log("computed");//通常调用次数发现计算属性是有缓存的
                // return this.msg.split("").reverse().join("");
                var total = 0;
                for (var i = 0; i <= this.num; i++) {
                    total += i;
                }
                return total;
            }
        }
    })
</script>
</body>
</html>
